Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Displaying Raw • Download


meshchatx/src/frontend/js/mapExchange/kmlSanitize.js HEAD (2bf00cb3) Text, 6.13 KB

T8b949e// SPDX-License-Identifier: 0BSD

Tff7b72const Te6edf3ALLOWED_DATA_PREFIXES Tff7b72= Tb4b4b4[
Ta5d6ff"data:image/png;base64,"Tb4b4b4,
Ta5d6ff"data:image/jpeg;base64,"Tb4b4b4,
Ta5d6ff"data:image/jpg;base64,"Tb4b4b4,
Ta5d6ff"data:image/gif;base64,"Tb4b4b4,
Ta5d6ff"data:image/webp;base64,"Tb4b4b4,
Tb4b4b4]Tb4b4b4;

Tff7b72const Te6edf3ALLOWED_KMZ_EXT Tff7b72= Ta5d6ff/\.(kml|png|jpe?g|gif|webp)$/iTb4b4b4;

Tff7b72export Tff7b72class Te6edf3KmlSanitizeError Tff7b72extends Tf85149Error Tb4b4b4{
Tff7b72constructorTb4b4b4(Te6edf3codeTb4b4b4, Te6edf3messageTb4b4b4) Tb4b4b4{
Tff7b72superTb4b4b4(Te6edf3message Tff7b72|| Te6edf3codeTb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3name Tff7b72= Ta5d6ff"KmlSanitizeError"Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3code Tff7b72= Te6edf3codeTb4b4b4;
Tb4b4b4}
Tb4b4b4}

Tff7b72export Tff7b72function Te6edf3isRemoteHrefTb4b4b4(Te6edf3hrefTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3h Tff7b72= Tffa657StringTb4b4b4(Te6edf3href Tff7b72|| Ta5d6ff""Tb4b4b4)Tb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3hTb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72falseTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3lower Tff7b72= Te6edf3hTb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3lowerTb4b4b4.Te6edf3startsWithTb4b4b4(Ta5d6ff"//"Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72trueTb4b4b4;
Tb4b4b4}
Tff7b72return Ta5d6ff/^(https?:|file:|ftp:|javascript:|vbscript:)/iTb4b4b4.Te6edf3testTb4b4b4(Te6edf3hTb4b4b4)Tb4b4b4;
Tb4b4b4}

Tff7b72export Tff7b72function Te6edf3isAllowedDataImageHrefTb4b4b4(Te6edf3hrefTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3h Tff7b72= Tffa657StringTb4b4b4(Te6edf3href Tff7b72|| Ta5d6ff""Tb4b4b4)
Tb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)
Tb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3hTb4b4b4.Te6edf3startsWithTb4b4b4(Ta5d6ff"data:"Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72falseTb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3ALLOWED_DATA_PREFIXESTb4b4b4.Te6edf3someTb4b4b4(Tb4b4b4(Te6edf3pTb4b4b4) Tb4b4b4=> Te6edf3hTb4b4b4.Te6edf3startsWithTb4b4b4(Te6edf3pTb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}

Tff7b72function Te6edf3looksLikeDtdTb4b4b4(Te6edf3textTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3head Tff7b72= Tffa657StringTb4b4b4(Te6edf3text Tff7b72|| Ta5d6ff""Tb4b4b4)
Tb4b4b4.Te6edf3sliceTb4b4b4(T79c0ff0Tb4b4b4, T79c0ff4096Tb4b4b4)
Tb4b4b4.Te6edf3toUpperCaseTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3headTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"<!DOCTYPE"Tb4b4b4) Tff7b72|| Te6edf3headTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"<!ENTITY"Tb4b4b4)Tb4b4b4;
Tb4b4b4}

Tff7b72function Te6edf3dropTagBlocksTb4b4b4(Te6edf3textTb4b4b4, Te6edf3blockReTb4b4b4, Te6edf3emptyReTb4b4b4) Tb4b4b4{
Tff7b72let Te6edf3out Tff7b72= Tffa657StringTb4b4b4(Te6edf3textTb4b4b4)Tb4b4b4;
Tff7b72let Te6edf3n Tff7b72= T79c0ff0Tb4b4b4;
Te6edf3out Tff7b72= Te6edf3outTb4b4b4.Te6edf3replaceTb4b4b4(Te6edf3blockReTb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3n Tff7b72+= T79c0ff1Tb4b4b4;
Tff7b72return Ta5d6ff""Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3out Tff7b72= Te6edf3outTb4b4b4.Te6edf3replaceTb4b4b4(Te6edf3emptyReTb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3n Tff7b72+= T79c0ff1Tb4b4b4;
Tff7b72return Ta5d6ff""Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72return Tb4b4b4{ Te6edf3textTff7b72: Te6edf3outTb4b4b4, Te6edf3countTff7b72: Te6edf3n Tb4b4b4}Tb4b4b4;
Tb4b4b4}

Tff7b72function Te6edf3rewriteHrefsTb4b4b4(Te6edf3textTb4b4b4, Tb4b4b4{ Te6edf3zipLocalOk Tb4b4b4}Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3stripped Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72const Te6edf3out Tff7b72= Tffa657StringTb4b4b4(Te6edf3textTb4b4b4)Tb4b4b4.Te6edf3replaceTb4b4b4(Ta5d6ff/<href>\s*([^<]+?)\s*<\/href>/giTb4b4b4, Tb4b4b4(Te6edf3fullTb4b4b4, Te6edf3innerTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3raw Tff7b72= Tffa657StringTb4b4b4(Te6edf3innerTb4b4b4)Tb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3isAllowedDataImageHrefTb4b4b4(Te6edf3rawTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72return Ta5d6ff`Ta5d6ff<href>Tffd700${Te6edf3rawTffd700}Ta5d6ff</href>Ta5d6ff`Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3isRemoteHrefTb4b4b4(Te6edf3rawTb4b4b4) Tff7b72|| Te6edf3rawTb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3startsWithTb4b4b4(Ta5d6ff"data:"Tb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3strippedTb4b4b4.Te6edf3pushTb4b4b4(Ta5d6ff"remote_href"Tb4b4b4)Tb4b4b4;
Tff7b72return Ta5d6ff""Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3zipLocalOkTb4b4b4) Tb4b4b4{
Te6edf3strippedTb4b4b4.Te6edf3pushTb4b4b4(Ta5d6ff"remote_href"Tb4b4b4)Tb4b4b4;
Tff7b72return Ta5d6ff""Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3fullTb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72return Tb4b4b4{ Te6edf3textTff7b72: Te6edf3outTb4b4b4, Te6edf3stripped Tb4b4b4}Tb4b4b4;
Tb4b4b4}

Tff7b72function Te6edf3rewriteHrefAttrsTb4b4b4(Te6edf3textTb4b4b4, Tb4b4b4{ Te6edf3zipLocalOk Tb4b4b4}Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3stripped Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72const Te6edf3out Tff7b72= Tffa657StringTb4b4b4(Te6edf3textTb4b4b4)Tb4b4b4.Te6edf3replaceTb4b4b4(Ta5d6ff/(\s(?:xlink:)?href\s*=\s*)(["'])([^"']+)\2/giTb4b4b4, Tb4b4b4(Te6edf3fullTb4b4b4, Te6edf3_prefixTb4b4b4, Te6edf3_quoteTb4b4b4, Te6edf3innerTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3raw Tff7b72= Tffa657StringTb4b4b4(Te6edf3innerTb4b4b4)Tb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3isAllowedDataImageHrefTb4b4b4(Te6edf3rawTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3fullTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3isRemoteHrefTb4b4b4(Te6edf3rawTb4b4b4) Tff7b72|| Te6edf3rawTb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3startsWithTb4b4b4(Ta5d6ff"data:"Tb4b4b4) Tff7b72|| Tff7b72!Te6edf3zipLocalOkTb4b4b4) Tb4b4b4{
Te6edf3strippedTb4b4b4.Te6edf3pushTb4b4b4(Ta5d6ff"remote_href"Tb4b4b4)Tb4b4b4;
Tff7b72return Ta5d6ff""Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3fullTb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72return Tb4b4b4{ Te6edf3textTff7b72: Te6edf3outTb4b4b4, Te6edf3stripped Tb4b4b4}Tb4b4b4;
Tb4b4b4}

Tff7b72function Te6edf3unwrapDescriptionInnerTb4b4b4(Te6edf3innerTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3trimmed Tff7b72= Tffa657StringTb4b4b4(Te6edf3innerTb4b4b4)Tb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3cdata Tff7b72= Te6edf3trimmedTb4b4b4.Te6edf3matchTb4b4b4(Ta5d6ff/^<!\[CDATA\[([\s\S]*?)\]\]>$/Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3cdataTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3cdataTb4b4b4[T79c0ff1Tb4b4b4]Tb4b4b4;
Tb4b4b4}
Tff7b72return Tffa657StringTb4b4b4(Te6edf3innerTb4b4b4)Tb4b4b4;
Tb4b4b4}

Tff7b72function Te6edf3escapeXmlTextTb4b4b4(Te6edf3valueTb4b4b4) Tb4b4b4{
Tff7b72return Tffa657StringTb4b4b4(Te6edf3valueTb4b4b4)Tb4b4b4.Te6edf3replaceTb4b4b4(Ta5d6ff/&/gTb4b4b4, Ta5d6ff"&amp;"Tb4b4b4)Tb4b4b4.Te6edf3replaceTb4b4b4(Ta5d6ff/</gTb4b4b4, Ta5d6ff"&lt;"Tb4b4b4)Tb4b4b4.Te6edf3replaceTb4b4b4(Ta5d6ff/>/gTb4b4b4, Ta5d6ff"&gt;"Tb4b4b4)Tb4b4b4;
Tb4b4b4}

Tff7b72function Te6edf3looksLikeHtmlTb4b4b4(Te6edf3valueTb4b4b4) Tb4b4b4{
Tff7b72return Ta5d6ff/<[a-z][\s\S]*>/iTb4b4b4.Te6edf3testTb4b4b4(Te6edf3valueTb4b4b4)Tb4b4b4;
Tb4b4b4}

Tff7b72function Te6edf3stripDescriptionHtmlTb4b4b4(Te6edf3textTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3stripped Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72const Te6edf3out Tff7b72= Tffa657StringTb4b4b4(Te6edf3textTb4b4b4)Tb4b4b4.Te6edf3replaceTb4b4b4(Ta5d6ff/<description\b[^>]*>([\s\S]*?)<\/description>/giTb4b4b4, Tb4b4b4(Te6edf3fullTb4b4b4, Te6edf3innerTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3content Tff7b72= Te6edf3unwrapDescriptionInnerTb4b4b4(Te6edf3innerTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3looksLikeHtmlTb4b4b4(Te6edf3contentTb4b4b4) Tff7b72&& Tff7b72!Te6edf3looksLikeHtmlTb4b4b4(Te6edf3innerTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3fullTb4b4b4;
Tb4b4b4}
Te6edf3strippedTb4b4b4.Te6edf3pushTb4b4b4(Ta5d6ff"html_description"Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3plain Tff7b72= Te6edf3content
Tb4b4b4.Te6edf3replaceTb4b4b4(Ta5d6ff/<[^>]+>/gTb4b4b4, Ta5d6ff" "Tb4b4b4)
Tb4b4b4.Te6edf3replaceTb4b4b4(Ta5d6ff/\s+/gTb4b4b4, Ta5d6ff" "Tb4b4b4)
Tb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72return Ta5d6ff`Ta5d6ff<description>Tffd700${Te6edf3escapeXmlTextTb4b4b4(Te6edf3plainTb4b4b4)Tffd700}Ta5d6ff</description>Ta5d6ff`Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72return Tb4b4b4{ Te6edf3textTff7b72: Te6edf3outTb4b4b4, Te6edf3stripped Tb4b4b4}Tb4b4b4;
Tb4b4b4}

T8b949e/**
* @param {string} text
* @param {{ zipLocalOk?: boolean }} [opts]
* @returns {{ text: string, stripped: string[] }}
*/
Tff7b72export Tff7b72function Te6edf3sanitizeKmlTextTb4b4b4(Te6edf3textTb4b4b4, Te6edf3opts Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3zipLocalOk Tff7b72= Tffa657BooleanTb4b4b4(Te6edf3optsTb4b4b4.Te6edf3zipLocalOkTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3looksLikeDtdTb4b4b4(Te6edf3textTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3KmlSanitizeErrorTb4b4b4(Ta5d6ff"dtd_forbidden"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3stripped Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72let Te6edf3out Tff7b72= Tffa657StringTb4b4b4(Te6edf3textTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3net Tff7b72= Te6edf3dropTagBlocksTb4b4b4(Te6edf3outTb4b4b4, Ta5d6ff/<NetworkLink\b[^>]*>[\s\S]*?<\/NetworkLink\s*>/giTb4b4b4, Ta5d6ff/<NetworkLink\b[^>]*\/>/giTb4b4b4)Tb4b4b4;
Te6edf3out Tff7b72= Te6edf3netTb4b4b4.Te6edf3textTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3netTb4b4b4.Te6edf3countTb4b4b4) Tb4b4b4{
Te6edf3strippedTb4b4b4.Te6edf3pushTb4b4b4(Ta5d6ff"network_link"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3netc Tff7b72= Te6edf3dropTagBlocksTb4b4b4(
Te6edf3outTb4b4b4,
Ta5d6ff/<NetworkLinkControl\b[^>]*>[\s\S]*?<\/NetworkLinkControl\s*>/giTb4b4b4,
Ta5d6ff/<NetworkLinkControl\b[^>]*\/>/gi
Tb4b4b4)Tb4b4b4;
Te6edf3out Tff7b72= Te6edf3netcTb4b4b4.Te6edf3textTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3netcTb4b4b4.Te6edf3countTb4b4b4) Tb4b4b4{
Te6edf3strippedTb4b4b4.Te6edf3pushTb4b4b4(Ta5d6ff"network_link"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3overlayBlocks Tff7b72= Tb4b4b4[
Ta5d6ff/<GroundOverlay\b[^>]*>[\s\S]*?<\/GroundOverlay\s*>/giTb4b4b4,
Ta5d6ff/<PhotoOverlay\b[^>]*>[\s\S]*?<\/PhotoOverlay\s*>/giTb4b4b4,
Ta5d6ff/<ScreenOverlay\b[^>]*>[\s\S]*?<\/ScreenOverlay\s*>/giTb4b4b4,
Tb4b4b4]Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72const Te6edf3blockRe Tff7b72of Te6edf3overlayBlocksTb4b4b4) Tb4b4b4{
Te6edf3out Tff7b72= Te6edf3outTb4b4b4.Te6edf3replaceTb4b4b4(Te6edf3blockReTb4b4b4, Tb4b4b4(Te6edf3blockTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3hrefs Tff7b72= Tb4b4b4[Tb4b4b4...Te6edf3blockTb4b4b4.Te6edf3matchAllTb4b4b4(Ta5d6ff/<href>\s*([^<]+?)\s*<\/href>/giTb4b4b4)Tb4b4b4]Tb4b4b4.Te6edf3mapTb4b4b4(Tb4b4b4(Te6edf3mTb4b4b4) Tb4b4b4=> Te6edf3mTb4b4b4[T79c0ff1Tb4b4b4]Tb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3remote Tff7b72= Te6edf3hrefsTb4b4b4.Te6edf3someTb4b4b4(
Tb4b4b4(Te6edf3hTb4b4b4) Tb4b4b4=> Te6edf3isRemoteHrefTb4b4b4(Te6edf3hTb4b4b4) Tff7b72|| Tb4b4b4(Te6edf3hTb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3startsWithTb4b4b4(Ta5d6ff"data:"Tb4b4b4) Tff7b72&& Tff7b72!Te6edf3isAllowedDataImageHrefTb4b4b4(Te6edf3hTb4b4b4)Tb4b4b4)
Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3relative Tff7b72= Te6edf3hrefsTb4b4b4.Te6edf3someTb4b4b4(Tb4b4b4(Te6edf3hTb4b4b4) Tb4b4b4=> Te6edf3h Tff7b72&& Tff7b72!Te6edf3isAllowedDataImageHrefTb4b4b4(Te6edf3hTb4b4b4) Tff7b72&& Tff7b72!Te6edf3isRemoteHrefTb4b4b4(Te6edf3hTb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3remote Tff7b72|| Tb4b4b4(Tff7b72!Te6edf3zipLocalOk Tff7b72&& Te6edf3relativeTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3strippedTb4b4b4.Te6edf3pushTb4b4b4(Ta5d6ff"remote_overlay"Tb4b4b4)Tb4b4b4;
Tff7b72return Ta5d6ff""Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3blockTb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3desc Tff7b72= Te6edf3stripDescriptionHtmlTb4b4b4(Te6edf3outTb4b4b4)Tb4b4b4;
Te6edf3out Tff7b72= Te6edf3descTb4b4b4.Te6edf3textTb4b4b4;
Te6edf3strippedTb4b4b4.Te6edf3pushTb4b4b4(Tb4b4b4...Te6edf3descTb4b4b4.Te6edf3strippedTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3hrefs Tff7b72= Te6edf3rewriteHrefsTb4b4b4(Te6edf3outTb4b4b4, Tb4b4b4{ Te6edf3zipLocalOk Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3out Tff7b72= Te6edf3hrefsTb4b4b4.Te6edf3textTb4b4b4;
Te6edf3strippedTb4b4b4.Te6edf3pushTb4b4b4(Tb4b4b4...Te6edf3hrefsTb4b4b4.Te6edf3strippedTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3attrs Tff7b72= Te6edf3rewriteHrefAttrsTb4b4b4(Te6edf3outTb4b4b4, Tb4b4b4{ Te6edf3zipLocalOk Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3out Tff7b72= Te6edf3attrsTb4b4b4.Te6edf3textTb4b4b4;
Te6edf3strippedTb4b4b4.Te6edf3pushTb4b4b4(Tb4b4b4...Te6edf3attrsTb4b4b4.Te6edf3strippedTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3hasPlacemark Tff7b72= Ta5d6ff/<placemark\b/iTb4b4b4.Te6edf3testTb4b4b4(Te6edf3outTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3hasPlacemark Tff7b72&& Te6edf3strippedTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"network_link"Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3KmlSanitizeErrorTb4b4b4(Ta5d6ff"remote_content"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Tb4b4b4{ Te6edf3textTff7b72: Te6edf3outTb4b4b4, Te6edf3stripped Tb4b4b4}Tb4b4b4;
Tb4b4b4}

Tff7b72export Tff7b72function Te6edf3kmzEntryAllowedTb4b4b4(Te6edf3nameTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3n Tff7b72= Tffa657StringTb4b4b4(Te6edf3name Tff7b72|| Ta5d6ff""Tb4b4b4)Tb4b4b4.Te6edf3replaceTb4b4b4(Ta5d6ff/\\/gTb4b4b4, Ta5d6ff"/"Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3nTb4b4b4.Te6edf3splitTb4b4b4(Ta5d6ff"/"Tb4b4b4)Tb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff".."Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72falseTb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3ALLOWED_KMZ_EXTTb4b4b4.Te6edf3testTb4b4b4(Te6edf3nTb4b4b4)Tb4b4b4;
Tb4b4b4}


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────